using System;
using System.Collections;
using System.Windows.Controls;

namespace Microsoft.Phone.Controls.Primitives
{
	public interface ILoopingSelectorDataSource
	{
		event EventHandler<SelectionChangedEventArgs> SelectionChanged;

		object GetNext(object relativeTo);
		object GetPrevious(object relativeTo);

		object SelectedItem { get; set; }
	}
}

namespace System.Windows.Controls
{
	public class SelectionChangedEventArgs : EventArgs
	{
		public SelectionChangedEventArgs(IList removedItems,
		                                 IList addedItems)
		{
			AddedItems = addedItems;
			RemovedItems = removedItems;
		}

		public IList AddedItems { get; private set; }
		public IList RemovedItems { get; private set; }
	}
}